package com.zf.shuashua.wxapi;

import com.umeng.socialize.weixin.view.WXCallbackActivity;

//后端要求传code，所用微信原生第三方
public class WXEntryActivity extends  WXCallbackActivity {

//public class WXEntryActivity extends WXCallbackActivity implements IWXAPIEventHandler {
//    private static String TAG = "MicroMsg.WXEntryActivity";
//    private static final int RETURN_MSG_TYPE_LOGIN = 1;
//    public IWXAPI api;
//
//    private static final int RETURN_MSG_TYPE_SHARE = 2;  ///< 分享
//
//    @Override
//    public void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        api = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID, false);
//        api.handleIntent(getIntent(), this);
//    }
//
//    @Override
//    protected void onNewIntent(Intent intent) {
//        super.onNewIntent(intent);
//        setIntent(intent);
//        api.handleIntent(intent, this);
//    }
//
//    @Override
//    public void onReq(BaseReq req) {
//    }
//
//
//    //该方法执行umeng登陆的回调的处理
//    @Override
//    public void a(com.umeng.weixin.umengwx.b b) {
////        super.a(b);
//    }
//
//    @Override
//    protected void a(Intent intent) {
//        super.a(intent);
//    }
//
//    //在onResume中处理从微信授权通过以后不会自动跳转的问题，手动结束该页面
//    @Override
//    protected void onResume() {
//        super.onResume();
//        finish();
//    }
//
//
//    @Override
//    public void onResp(BaseResp resp) {
//        //类型：分享还是登录
//        int type = resp.getType();
//        switch (resp.errCode) {
//            case BaseResp.ErrCode.ERR_AUTH_DENIED:
//                LoadDialogManager.getInstance().dismiss();
//                ///< 用户拒绝授权
//                finish();
//            case BaseResp.ErrCode.ERR_USER_CANCEL:
//                LoadDialogManager.getInstance().dismiss();
//                ///< 用户取消
//                String message = "";
//                if (type == RETURN_MSG_TYPE_LOGIN) {
//                    message = "取消登录";
//                    ToastUtil.showToast(this, message);
//                }
//                finish();
//                break;
//            case BaseResp.ErrCode.ERR_OK:
//                if (type == RETURN_MSG_TYPE_LOGIN) {
//                    ///< 用户换取access_token的code，仅在ErrCode为0时有效
//                    String code = ((SendAuth.Resp) resp).code;
////                    toLogIn(code);
//                    if (Store.getInstance().isLogin()) {
//                        LoadDialogManager.getInstance().dismiss();
//                        //已经登陆进绑定微信
//                        HttpData.getInstance().bindWX(code, new ACallback<BindWX>() {
//                            @Override
//                            public void onSuccess(BindWX data) {
//                                if (data.isStatus()) {
//                                    ShuaApplication.is_bind_wechat = true;
//                                    RxBus.getInstance().post(data);
//                                    ToastUtil.showToast(WXEntryActivity.this, data.getData() + "");
//                                } else {
//                                    ToastUtil.showToast(WXEntryActivity.this, data.getMessage() + "");
//                                }
//                                RxBus.getInstance().post(data);
//                            }
//
//                            @Override
//                            public void onFail(int errCode, String errMsg) {
//
//                            }
//                        });
//                    } else {
//                        //getAccessToken(code);
//                        toLogIn(code);
//                    }
//                } else {
//                    LoadDialogManager.getInstance().dismiss();
//                }
//                break;
//            default:
//                LoadDialogManager.getInstance().dismiss();
//                break;
//        }
//    }
//
//    private void getAccessToken(String code) {
//        String url = "https://api.weixin.qq.com/sns/oauth2/access_token";
//        OkHttpClient mOkHttpClient = new OkHttpClient();
//
//        url += "?appid=" + Constants.WX_APP_ID + "&secret=473315465654bb1c87b05afe685ea49f"
//                + "&code=" + code + "&grant_type=authorization_code";
//        final Request request = new Request.Builder()
//                .url(url)
//                //.post(body)
//                .build();
//        Call call = mOkHttpClient.newCall(request);
//        call.enqueue(new Callback() {
//
//            @Override
//            public void onFailure(Call call, IOException e) {
//                finish();
//            }
//
//            @Override
//            public void onResponse(Call call, Response response) throws IOException {
//                String json = response.body().string();
//                JSONObject jsonObject = JSONObject.parseObject(json);
//                String accessToken = jsonObject.getString("access_token");
//                String openid = jsonObject.getString("openid");
//                getUserInfo(code, accessToken, openid);
//            }
//        });
//    }
//
//    private void getUserInfo(String code, String access_token, String openid) {
//        String url = "https://api.weixin.qq.com/sns/userinfo";
//        OkHttpClient mOkHttpClient = new OkHttpClient();
//        RequestBody body = new FormBody.Builder()
//                .add("access_token", access_token)
//                .add("openid", openid)
//                .build();
//        final Request request = new Request.Builder()
//                .url(url)
//                .post(body)
//                .build();
//        Call call = mOkHttpClient.newCall(request);
//        call.enqueue(new Callback() {
//            @Override
//            public void onFailure(Call call, IOException e) {
//                finish();
//            }
//
//            @Override
//            public void onResponse(Call call, Response response) throws IOException {
//                String json = response.body().string();
//                JSONObject jsonObject = JSONObject.parseObject(json);
//                String name = jsonObject.getString("nickname");
//                String iconUrl = jsonObject.getString("headimgurl");
//                jumpToThirdLogin(name, iconUrl);
//            }
//        });
//    }
//
//    private void jumpToThirdLogin(String name, String iconUrl) {
//        Intent intent = new Intent(this, BindPhoneActivity.class);
//        intent.putExtra("type", "wechat");
//        intent.putExtra("name", name);
//        intent.putExtra("iconUrl", iconUrl);
//        startActivity(intent);
//    }
//
//    /**
//     * 微信登录
//     *
//     * @param code
//     */
//    private void toLogIn(String code) {
//        HttpData.getInstance().wxLogin(code, new AbsCallback<BaseData<WXLoginBean>>() {
//            @Override
//            public void onRealSuccess(BaseData<WXLoginBean> data) {
//                LoadDialogManager.getInstance().dismiss();
//                if (data.getData().getOpen_id() != null && data.getData().getAccess_token() == null) {
//                    Store.getInstance().setOpenId(data.getData().getOpen_id());
//                    Store.getInstance().setType("wechat");
//                    jumpToThirdLogin(data.getData().getNick_name(), data.getData().getAvatar());
//                } else {
//                    Store.getInstance().loginSuccess(WXEntryActivity.this, data.getData().getToken_type(), data.getData().getAccess_token(), "WX");
//                    api.unregisterApp();
//                }
//            }
//
//            @Override
//            public void onFail(int errCode, String errMsg) {
//                LoadDialogManager.getInstance().dismiss();
//                ToastUtil.showToast(WXEntryActivity.this, "登录失败,请重试");
//            }
//        });
//    }

}